package com.wang.test.demo.config;

import org.apache.activemq.command.ActiveMQQueue;
import org.apache.activemq.command.ActiveMQTopic;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jms.annotation.EnableJms;

import javax.jms.Queue;
import javax.jms.Topic;

@Configuration
@EnableJms
public class ActiveMqConfig {

    @Value("${queue}")//对应yml文件中定义的queue
    private String queue;

    @Value("${topic}")//对应yml文件中定义的topic
    private String topic;

    /**
     * 创建点对点的队列  一个消息只能被一个消费者消费  --- 一对一
     * @return
     */
    @Bean
    public Queue queue(){
        return new ActiveMQQueue(queue);
    }

    /**
     * 创建订阅式的队列  一个消息可以被多个消费者消费 --- 一对多
     * @return
     */
    @Bean
    public Topic topic(){
        return new ActiveMQTopic(topic);
    }
}
